Szövegfájl másolása egy új szövegfájlba úgy, hogy mi
adjuk meg a programban a fájlok neveit és lekezeljük a lehetséges hibát
is (MasoloHibakezeles.pas)
program MasoloHibakezeles;
uses crt;
var f,g:text;
s1,s2,s:string;
BEGIN
clrscr;
write('A masolando fajl neve: ');
readln(s1);
Bekérjük a másolandó fájl nevét.
{$I-} assign(f,s1); {$I+}
f-hez hozzárendeljük a bekért fájlnevet, de mivel ez hibához vezethet akkor, ha a megadott fájl nem létezik, lekezeljük a lehetséges hibát, azaz {$I-} és {$I+} közé írjuk be azt az utasítást, ami hibához vezethet.
if (IOresult>0) then begin
Az IOresult, vagyis InputOutputresult akkor ad vissza 0-nál nagyobb értéket, ha valamilyen hiba bekövetkezik, jelen esetben, ha a fájl nem található.
writeln('File not found!');
Ha a hiba fellép, kiírjuk, hogy a fájl nem található és halt;-tal kilépünk a programból.
halt;
end;
write('Az uj fajl neve: ');
readln(s2);
Bekérjük az új fájl nevét, amibe másolni szeretnénk, ennek a fájlnak nem kell létezőnek lenni, mivel a program létrehozza nekünk.
assign(g,s2);
g-hez hozzárendeljük az új fájlt, majd mint a korábbi másoló programnál, elvégezzük a másolást.
reset(f);
rewrite(g);
writeln('Masolas kezedete...');
while (not eof(f)) do begin
readln(f,s);
writeln(g,s);
end;
writeln('A masolas veget ert.');
close(f);
close(g);
readkey;
END.
|